package com.jv.spring.autowiredannotation;

import com.jv.spring.autowiredannotation.scan.AutowiredAnnotationUser;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class AutowiredAnnotationMain {
	public static void main(String[] args) {
		AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext();
		/**
		 * 如果不是一个配置类，可以直接通过register注册一个BeanDefinition，然后通过getBean(）获取Bean的时候自动创建Bean
		 */
		ac.register(AutowiredAnnotationConfig.class);
		/**
		 * 如果注入的是一个配置类，那么需要调用refresh扫描配置类的属性，做出对应注解的相应动作执行
		 */
		ac.refresh();
		AutowiredAnnotationUser user = (AutowiredAnnotationUser)ac.getBean("autowiredAnnotationUser");
		System.out.println(user.getDept().getDeptName());
	}
}
